// pages/podcast/index.js
import { getPodcastBanner, getPodcastCatelist,getMyPodcast,getMySublist, getPodcastRecommend } from "../../service/api_podcast"
import throttle from '../../utils/throttle'
import queryRect from '../../utils/quert-rect'
// 进行防抖处理
const throttleImageLoad = throttle(queryRect, 1000, { trailing:true })
Page({
  /**
   * 页面的初始数据
   */
  data: {
    swiperHeight: 0,        // 轮播图高度
    banners: [],            // 轮播图数据
    catelist: [],            // 分类列表
    mypodcasts: [],            // 我的播客
    recommends: [],          // 个性推荐播客
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取页面所要加载的数据
    this.getPageData()
  },
  getPageData() {
    getPodcastBanner().then(res => {
      this.setData({ banners: res.data.data })
    })
    getPodcastCatelist().then(res => {
      this.setData({ catelist: res.data.categories })
    })
    // 合并成我的播客
    this.getMyPodcasts()
    getPodcastRecommend().then(res => {
      this.setData({ recommends: res.data.data })
    })
  },
  // 获取我的播客数据
  async getMyPodcasts() {
    const res1 = await getMyPodcast(wx.getStorageSync('userId'))
    const res2 = await getMySublist()
    const mypodcasts =[ ...res1.data.djRadios,...res2.data.djRadios]
    this.setData({mypodcasts})
  },
  // 当src加载完成 动态获取当前图片的高度
  handleImageLoad() {
    // wx.createSelectorQuery() 获取image加载完成后的宽高
    throttleImageLoad(".image").then(res => {
      this.setData({ swiperHeight: res[0].height })
    })
  },
  // 个性推荐
  handleRecommendClick(event){
    console.log(event);
    const listId = event.currentTarget.dataset.item.id
    if (event.currentTarget.dataset.item.category) {
      const title = event.currentTarget.dataset.item.name
      
      wx.navigateTo({
        url:"../../pages/detail-songs/index?podcastId="+listId+"&title="+title
      })
    }
  },
  // 轮播图点击事件
  handleBannerClick(event){
    const index = event.currentTarget.dataset.index
    wx.navigateTo({
      url: '../external-link/index?url='+this.data.banners[index].url,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})